Unity[Tips]利用属性切换物体显示隐藏
C#中的属性
- 访问属性时,其行为类似于字段。 但与字段不同的是,属性通过访问器实现;访问器用于定义访问属性或为属性赋值时执行的语句。
属性语法
- 属性语法是字段的自然延伸。 字段定义存储位置,
- 属性定义包含
get
和 set
访问器的声明,这两个访问器用于检索该属性的值以及对其赋值。 | public class Person { public string FirstName { get; set; } }
|
功能需求
- 点击按钮,显示对应的形状,其他形状隐藏

代码实现
- 控制脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| public class UIObjectView : MonoBehaviour { public GameObject[] objects; private int currentObject;
public int CurrentObject { get => currentObject; set { currentObject = value; UpdateObject(); } }
private void UpdateObject() { for (int i = 0; i < objects.Length; i++) { objects[i].SetActive(i==currentObject); } } }
|
- 调用脚本,当调用
CurrentObject
赋值时执行UIObjectView
中CurrentObject
的Set
方法,实现更新物体显示隐藏。1 2 3 4 5 6 7 8 9
| public class ObjectController : MonoBehaviour { public UIObjectView uiObjectView; public void OnSelectObjectClick(int index) { uiObjectView.CurrentObject = index - 1; } }
|